﻿<pre>
知识点一：选择排序法从小到大排序
	算法原理：
	 	把一组元素中最小的一个调到第一个位置，然后问题规模缩小一个。
		继续在剩下的N-1个元素中选择最小的放到第一位（也就是整体的第二位）。
		重复以上步骤N-1次完成排序
		
	假设有数组： [7,6,9,5,3]; 对于N个元素数组需要进行 N-1次比较
	第一轮
		用索引号为0的与余下N-1个比较。
		用索引为0的7和索引为1的6比较后交换位置  
		[6,7,9,5,3];
		用索引为0的6与索引为2的9比较不动
		用索引为0的6与索引为3的5比较交换位置
		[5,7,9,6,3];
		用索引为0的元素与索引为4的3进行比较交换位置
		[3,7,9,6,5];
		第一轮全部比较交换完毕，结果就是选择出了最小的一个在最前面。
		
	第二轮 
		从索引为1的与索引为2的开始比较因为第一轮已经确定了索引为0的为最小的
		第一轮结果为：[3,7,9,6,5];下面开始第二轮
		用索引为1的与索引为2的比较不动
		[3,7,9,6,5]
		用索引为1的与索引为3的比较结果交换
		[3,6,9,7,5]
		用索引为1的与索引为4的比较结果交换
		[3,5,9,7,6]
		第二轮比较完毕后，前两个确定下来进入第三轮
	
	第三轮
		从索引为2的与索引为3的比较，结果交换
		[3,5,7,9,6]
		从索引为2的与索引为4的比较结果交换
		[5,3,6,9,7];
	 	第三轮比较后确定了前三个。
		
	第四轮：
		从索引为3的与索引为4的比较结果交换
		[3,5,6,7,9];
		比较完毕交换结束，排序完成。

<h2>选择排序法代码实现</h2>
<script>
//选择排序法代码实现：
var arr = [7,6,9,5,3];
for(var i=0;i<arr.length-1;i++){	
	var n =i;
	document.writeln("------第 "+(i+1)+" 轮---------"); 	
 	for(var j=i+1;j<arr.length;j++){
		if(arr[n]>arr[j]){
			n=j;				//把最小的那个元素的索引保存到n上	
		}	
	}
	//如果n没有发生变化说明最原始的那个就是最小的
	if(n!=i){
		t = arr[i];
		arr[i]=arr[n];
		arr[n]=t;
	}
	document.writeln(arr); 	
} 
</script>